#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//#define maxlen 225
//typedef struct
//{
//	char ch[maxlen];
//	int length;
//}sstring;
//
//int index(sstring s, sstring t)
//{
//	int i = 1;
//	int j = 1;
//	while (i <= s.length && j <= t.length)
//	{
//		if (s.ch[i] == t.ch[j])
//		{
//			i++;
//			j++;
//		}
//		else
//		{
//			j = 1;
//			i = j + 1;
//		}
//	}
//	if (j > t.length)
//	{
//		return i - t.length;
//	}
//	else
//	{
//		return 0;
//	}
//}
#define maxlen 225
typedef struct
{
	char ch[maxlen];
	int length;
}sstring;

int index_kmp(sstring s, sstring t, int next[])
{
	int i = 1;
	int j = 1;
	while (i < s.length && j < s.length)
	{
		if (j == 0 || s.ch[i] == t.ch[j])
		{
			i++;
			j++;
		}
		else
		{
			j = next[j];
		}
	}
	if (j > t.length)
		return i - t.length;
	else
		return 0;
}